feat(perps): add breakdown-perps-tickets skill#57
Merged
Conversation
Interactively split a perps requirement into dispatch-ready technical tickets routed across Core, Core-release, Mobile, and Extension. - Confirms Core/Mobile/Extension repo paths up front (triage from code, no hardcoded machine-specific paths) - Emits the minimum layer set with Jira blocks/is-blocked-by chaining and the interim-constant pattern for hidden Core deps (analytics) - Numbered, proof-mode-tagged ACs (state/visual/mixed) that seed the downstream recipe-fix-ticket AC matrix directly - Token-efficient, signal-over-noise tickets for autonomous workers
| - 2-3 sentences per field, max. Cut anything an agent can derive from the code. | ||
| - One concern per ticket. Split multi-bug / multi-layer requests. | ||
| - Concrete > narrative: a route, a component, a testable assertion — not a story. | ||
| - No screenshots-as-spec, no Figma links, no "investigate and fix", no "see recording". |
Collaborator
There was a problem hiding this comment.
Why no Figma links?
Contributor
Author
There was a problem hiding this comment.
because the agent cannot access it directly
| ## The layer model | ||
|
|
||
| `@metamask/perps-controller` lives in **Core**; Mobile and Extension consume it | ||
| (`"@metamask/perps-controller": "^9.x"`). A perps change can touch up to four |
Collaborator
There was a problem hiding this comment.
Is it good to have the version 9 there?
michalconsensys
approved these changes
Jun 29, 2026
abretonc7s
added a commit
that referenced
this pull request
Jun 29, 2026
## What Adds `write-perps-ticket` — the **product (first) pass** that pairs with `breakdown-perps-tickets` (#57, the engineering pass). It helps a PM (or a Claude acting for one) turn a raw observation/idea/goal into **one clean, complete ticket** that states intent and expected outcome, then stops before implementation. Splits the two jobs the team actually has (per the product discussion): the PM describes *what's broken / expected* with no implementation, and engineering does the technical split + layer routing as a second pass. ## Modes Typed, each with its own tight format: - **Bug** — what's broken + testable expected + repro + surface + pre-conditions + severity - **EPIC** — user-facing outcome + feature-level acceptance + scope (tasks deferred to engineering) - **Initiative** — why + measurable success metric + scope boundary + candidate child EPICs ## Why these choices - **Intent, not implementation.** Product tickets state testable *outcomes* — no file paths, component names, or layer routing. Prescribing implementation boxes engineering in and goes stale when code moves; routing needs codebase access and belongs to the breakdown pass. - **Surfacing section** (severity, plain-words area label, correct type) so reported bugs get triaged instead of lost in the backlog — a direct pain point. - **Number semantics, not decimals.** Expected values described semantically ("shows USD value") since perps precision is range-adaptive. - **Clean handoff.** Output of this skill = input to `breakdown-perps-tickets`. Both reuse `domains/perps/knowledge/*`. ## Relation to #57 Complementary, not dependent. #57 = engineer split/route; this = PM authoring. Merge order doesn't matter.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds the
breakdown-perps-ticketsskill: turns one perps bug/EPIC into the minimum set of dispatch-ready technical tickets, routed across Core → Core-release → Mobile → Extension with real Jira blocking links.This is the second pass in the team flow — the PM states what's broken/expected (no implementation), and this skill (engineer side) does the technical breakdown + routing into agent-ingestible tickets consumed by farmslot and the
agentic/recipe-fix-ticketpipeline.Why these design choices
*-ref. Nothing machine-specific leaks into the tickets.[state]/[visual]/[mixed]). The downstream worker (recipe-fix-ticket) builds an AC matrix with exactly these proof modes — tagging at authoring time removes a guess step at fix time.@metamask/perps-controller) that make a 'client-only' task secretly Core-first.Notes
Consumes the existing
domains/perps/knowledge/*references (architecture, screens, formatting-rules, mobile-extension-map) rather than duplicating them.